package com.application.model.universidades.quevasaestudiar.manager;

import java.util.Collection;
import java.util.List;

import com.application.model.elegircolegio.entries.ElegirColegioElement;
import com.application.model.elegircolegio.entries.ElegirColegioEntity;
import com.application.model.universidades.quevasaestudiar.entries.Facultad;
import com.application.model.universidades.quevasaestudiar.entries.Sede;
import com.application.model.universidades.quevasaestudiar.entries.UniversidadElement;
import com.application.model.universidades.quevasaestudiar.entries.UniversidadEntry;
import com.application.model.xml.ConfigurationManager;

public class ManagerQueVasEntity {
	private static final String nombreArchivo="./log/que.vas.universidad.xml";
	

	private UniversidadEntry	entry;
	
	public ManagerQueVasEntity() {
		entry = new UniversidadEntry();
	}
	public void agregarNuevaInformacion(String nombre, String tipo, String logo, List<String> fotos, String descripcion, String urlCollector) {
		UniversidadElement element = getElement(nombre);
    	if(element==null){
    		element = new UniversidadElement();
    		element.setNombre(nombre);
    		element.setTipo(tipo);
    		element.setUrlLogo(logo);
    		element.setFotos(fotos);
    		element.setDescripcion(descripcion);
    		element.setUrlCollector(urlCollector);
    		addElement(element);
    	}
	}
	

	private String escapeValue(String dato){
		String value = "";
//		value = StringEscapeUtils.escapeXml(dato);
		value = dato;
		return value;
	}
	private void addElement(UniversidadElement element){
		entry.addElement(element);
	}
	private UniversidadElement getElement(String nombre){
		return entry.getElement(nombre);
	}
	public void save() {
		ConfigurationManager<UniversidadEntry> configuration = new ConfigurationManager<UniversidadEntry>();
        try {
			configuration.write(entry, nombreArchivo,"UTF-8");
		} catch (Exception e) {			
			e.printStackTrace();
		}
	}

	public void load() {
		ConfigurationManager<UniversidadEntry> configuration = new ConfigurationManager<UniversidadEntry>();
        try {
        	entry = configuration.load(nombreArchivo,"UTF-8");
		} catch (Exception e) {			
			e.printStackTrace();
		}
	}
	

	public void addNivel(String nombre, String nivel) {
		UniversidadElement element = getElement(nombre);
    	if(element!=null){
    		element.addNivel(nivel);    		
    	}
	}

	public void setUrlImagenLogo(String nombre, String urlImagen) {
		UniversidadElement element = getElement(nombre);
    	if(element!=null){
//    		element.setUrlImagen(urlImagen);    		
    	}
	}


	public void addIdioma(String nombre, String idioma) {
		UniversidadElement element = getElement(nombre);
    	if(element!=null){
//    		element.addIdioma(idioma);    		
    	}
	}

	
	public Collection<UniversidadElement> getValues(){
		return this.entry.getValues();
	}
	public void setSedes(String nombre, List<Sede> sedes) {
		UniversidadElement element = getElement(nombre);
    	if(element!=null){
    		element.setSedes(sedes);    		
    	}
	}
	public void addFacultad(String nombre, Facultad facultad) {
		UniversidadElement element = getElement(nombre);
    	if(element!=null){
    		element.addFacultad(facultad);    		
    	}		
	}
	public boolean contains(String nombre) {		
		return entry.contains(nombre);
	}

	

	
}
